Changelog:

V0.7.1_PRE (1/3/2018):
================================
Bugfixes:
1. Fix `help` program crash.
2. Fix BIOS Setup `Open Appdata` crash.
3. Fix LIKO-12 failing to update DiskOS.

V0.7.0_PRE (1/3/2018):
================================
Bugfixes:
1. Removed touch joystick dead range, it will be rewritten in the next update.
2. Removed copyrighted art form the snake demo, got much better art by @gardrek.

DiskOS:
2. New `piano` and `chiptune` demos.
3. Optimized map and image encoding, `save` is now much faster on Mobile.
4. New `wget` command by @nukeop.
5. The `disk` and `save` commands can now accept the disk template name.
6. You can now move the terminal cursor back and forth.
7. You can now copy and paste in the terminal.
8. New AudioUtils API, used for `note,oc` <-> `frequency` conversion.
9. New HTTP API for easier HTTP requests.
10. The editor shortcuts now uses keynames instead of scancodes.
11. New `patterns` demo.
12. The `bounce` demo now has sound effects.
13. Now prints program errors to the developer console.
14. New `xshell` program by @boredom101 (inspiration101).
15. Now loads lk12/png files when dropped into LIKO-12 windows while the terminal is visible.
16. json library is now available as `JSON` for games (Instead of `json`).
17. New RamUtils.binWriter and binReader.
18. Programs now has exitcodes.
19. New SFX editor and SFX api.
20. The pastebin command now uses the HTTP api.
21. New `play` command, to play musical waves.
22. Updated BARNES Palette in the palletes demo.
23. New program `SheetToClip` for generating alt sheets to add in code.
24. New incremental code search by @trabitboy.

BIOS:
26. The BIOS has been re-written.
27. It runs now the POST screen in a coroutine.
28. There's now a BIOS SETUP screen, which can do useful function, like opening appdata, wiping drives, installing DiskOS/PoorOS, booting from drive D and toggle devmode !
29. Most of peripherals functions are now called directly, better performance.
30. Peripherals function arguments verification is now much cleaner.
31. New DiskOS Installer/Updater screen, You can now know why LIKO-12 takes some time for the first boot.
32. When updating LIKO-12, only the modified os files are updated.
33. Devmode is now colored with grey in POST screen when using it.
34. Now shows `Lua` instead of `LuaJIT` on Mobile (Because JIT is disabled due to memory leaking issue).
35. Support for easier .love packaging.

Engine:
36. New Audio Peripheral.
37. 4 SFX Audio Channels, and 1 Generating Channel.
38. Rewrote the HDD peripheral, the code is much cleaner, and it can now delete, move and copy directories & files recursivly.
39. load() and loadstring() now takes chunkname.
40. New colored variants of the disk (png) template.
41. Typofix in GPU.printBackspace.
42. GPU Matrix stack depth error handling.
43. New post shaders support, check https://github.com/ramilego4game/LIKO-12-Shaders.
44. New pattern filling support.
45. New CPU.openURL.
46. Added LuaSec to the WEB peripheral.
47. New WEB.luasocket and WEB.luasec for passing them to the OS, you can now do networking in DiskOS.
48. New filedropped event.

Other:
49. New LIKO-12 Icon.
50. The window icon is now the 16x16 version.
51. New Nightly Builds: https://ramilego4game.github.io/LIKO-12-Nightly/
52. Updated github readme.md
53. New Disks repository: https://ramilego4game.github.io/LIKO-12-Disks
54. Dropped Windows 64-bit support (temporary).
55. Luacheck now runs on LIKO-12 Github Repo.
56. Good amount of updates to the online Documentation.
57. LIKO-12 Got a Discord server dedicated for it.

V0.6.0_PRE_07 (14/12/2017):
================================
New:
1. New FDD Peripheral, to encode/decode .png disks while storing 64kb of data inside of them.
2. The disk label image is readable and writable.
3. F6 Captures the disk label.
4. New `disk` command, to write and read files in .png disks.
5. Paint program now accepts `@clip` and `@label`
6. The `save` and `load` commands now accept .png saving (not compatible with the `disk` command).
7. The `import` command now accepts `@label` so you can edit the label in the spriteeditor, or save the label as a .lk12 file.
8. The `export` command now accepts `@label` so you can set the label to your current spritesheet.
9. The `factory_reset` command now accepts `-wipe` argument, to wipe the C drive before reflashing DiskOS.

Editors:
9. SpriteEditor brush size slider by @egordorichev
10. New code-editor undo and redo support by @jminor

API:
11. New image:refresh(), to reload it's content from the source imagedata.
12. New RAM functions: `poke4` and `peek4`.

Demos:
13. Added `BARNES` & `VV16` palettes by gardrek to the palettes demo.
14. Added 'likocam' library, a 3D camera library + a new demo (cube.lk12).

Bugfixes:
15. The `appdata` and `folder` programs now shows the path on Android.
16. Fix horizental scrolling in the code editor is reversed (issue #118).
17. Fix `save -?` not showing help.
18. Fix LIKO-12 crashing on Android when connecting/disconnecting a bluetooth keyboard, thanks for @trabitboy

Operating System:
19. New DiskOS System Structure.
20. New APIS system.
21. New RamUtils API, for binary operations.
22. DiskVersion 3: Added binary format support.

Engine:
23. New Simplified RAM Layout.
24. Optamized RAM peripheral binary handler.
25. Reworked parts of the RAM peripheral.

V0.6.0_PRE_06 (14/9/2017):
================================
New:
1. New custom palettes support, `colorPalette(id,red,green,blue)`
2. New `exit()` function to exit the current running game.
3. Ctrl-X and Ctrl-A now works in the code editor.
4. New 'palette' demo by nesbox, to show different palettes on LIKO-12.

Operating System:
5. Now shows the build number under 'PRE' in the terminal, instead of 0.6.
6. New `reload` program to reload the editorsheet and reset the Lua package system.
7. Added middleclass to the OS programs globals as 'class'.
8. WorkInProgress GUI library.

Engine:
9. GIF recorder now supports palette changing.

V0.6.0_PRE_05 (1/9/2017):
================================
1. Fix some typos in the 'Whatsnew' help file.
2. Fix a bug slowing down LIKO-12 boot time by causing the OS to always reflash if you used an older version.
3. Fix LIKO-12 crashing when r8 canvas format is not supported.
4. New 'version' program to check the running version.

V0.6.0_PRE_04 (26/8/2017):
================================
New:
1. New Paint program.
2. New hex string sprite copy format.
3. Now can paste from PICO-8 and TIC-80, and can also copy to TIC-80.
4. New sprite editor selection size slider.
5. New `install_games` program, to install a set of built-in games.
6. New games: Snake, minesweeper, batteryman, pong.
7. New sprite editor shorcuts, check the docs for them.
8. New `loadcart` program to load old LIKO-12 V0.0.5a carts.
9. New joysticks support, with unlimited number of controllers.
10. New `joymap` program to remap the joystick buttons.
11. New controls test demo `joytest`.
12. Added support for installing custom editors.
13. New lua syntax highlighter by lhs_azevedo.
14. Now colors the api functions in the code editor.
15. New `exit` command, the same of `shutdown` command.
16. New ctrl-s, ctrl-l, ctrl-r works in the editors and the edit program.
17. New copy program to copy single files.
18. circle() and ellipse() now accepts segments count argument.
19. New `pastebin run` varient.
20. New Gif recording pause key: `F7`
21. Now system messages are shown when starting, pauseing, etc... the gif recording.
22. New selection functionality in the code editor to copy, paste, etc... \o/.
23. New math functions: math.isConvex, math.triangulate, math.noise and math.randomNormal.
24. New 'mathcircles' Demo by @egordorichev, check it out !

Improvements:
1. Faster gif recording.
2. New sprite editor layout.

Bugfixes:
1. Bugfix appdata program oppening the appdata folder after showing help.
2. Fix some internal cursors hot position.
3. Fix `appdata` and `folder` programs on Android to print the path instead of openning the browser.
4. Fixed a bug that the shaders fail to compile on some opengl-es devices.
5. Bugfix issue #107 "Invalid Print Alignment"

Operating System:
1. New Editor.utils, makes adding standalone editors more easier.
2. New editors api function `eapi:addEditor()`, Allows you to add custom editor.
3. Made the terminal commands case sensitive.
4. New temp folder `C:/.temp/`, Gets cleaned at startup.

Engine:
1. Now uses `r8` canvas format instead of `rgba8`.
2. `NormBIOS Revision 060-011`: New file tracking when in devmode.
3. New system messages functionality.
4. New `CPU.getSaveDirectory` to get the real save directory in the host filesystem.
5. Added `os.date` to the lua sandbox.

V0.6.0_PRE_03 (7/7/2017):
=========================
1. New touch controls.
2. There are android builds now !
3. No longer crashes if it failed to load the WEB peripheral.
4. Now automatically reflashes DiskOS when changing LIKO-12 version.
5. Updated the BIOS to version 060-010.
6. New Demo game: Bump: A demo of middleclasses and bump.lua
7. New `Controls(type)` function, defaults to "gamepad"
8. Improved some Demos.
9. New scrolling in the code editor via 2 touch fingers.
10. Removed debug printing from the load program.
11. Bugfixed million of bugs in the map api.
12. Restored the help topic system.
13. New sget, sset, pget, pset, mget, mset functions.
14. Made map save format more readable.
15. Added usage info for all programs, do '<program> -?'.
16. New 'factory_reset' program to revert changes made to the os files.
17. `Lua` program can now be exited by typing 'exit'.
18. Added WIP message to the paint program.
19. Added 'programs' program to list available programs.
20. Fixed hard rebooting crash.
21. Fixed the window is recreated when soft rebooting.
22. Programs can be added now to D:/Programs/.
23. Updated to print PRE instead of DEV in the terminal.
24. Upgraded terminal path resolving.
25. You can now take screenshots by pressing f6.
26. Now prints D:/ instead of D:///
27. The WEB peripherals now closes the thread when rebooting LIKO-12.
28. New 'appdata' program to open LIKO-12 appdata folder.